###矢量化的 "点" 运算符
println("----man-dot-operators----")
A=[1,2,3]
x=A
P1 = A .^3  #[1^3, 2^3, 3^3]
println(P1)

#equal
println("--------")
P2 = 2 .* A.^2 .+ sin.(A)
println(P2)
P2 = @. 2A^2 + sin(A)
println(P2)

#equal
println("--------")
P3 = x .+ 3 .* x.^2
println(P3)
P3 = (+).(x, (*).(3, (^).(x, 2)))
println(P3)

a = A
b = 3
#equal
println("--------")
println(a =?= A)
println(a)
println(a .+= b)
println(@. a += b)
println(a .= a .+ b) #最后解析为此语句执行

A=1
B=2
C=3
D=4
⊗(A,B) = kron(A,B)
println("--------")
println([A,B] .⊗ [C,D])
println([A⊗C, B⊗D])

x=[1,2]
#disallowed
#println(1.+x)
#println(1. + x)
#println(1 .+ x.)
